System and method for distributing voip data packets in group communications among wireless telecommunication devices

ABSTRACT

In group wireless telecommunication, such as push-to-talk (PTT) calls, a voice communication is broadcast through Internet protocol data packets to other member devices of the PTT group. At least one communication server receives a single communication stream from a communicating wireless device, such as a PTT call, and creates a group communication to all wireless telecommunication devices of the designated group with the broadcast of Internet protocol data packets containing the voice data of the communication stream to one or more wireless telecommunication devices of the receiving group that can receive and handle the packets. Other wireless network infrastructure can be used to assist the communication server in generation and broadcast of the Internet protocol data packets to the receiving wireless telecommunication devices.

CLAIM OF PRIORITY

This application is a continuation of U.S. patent application Ser. No.11/097,044 entitled “SYSTEM AND METHOD FOR DISTRIBUTING VoIP DATAPACKETS IN GROUP COMMUNICATIONS AMONG WIRELESS TELECOMMUNICATIONDEVICES”, filed on Mar. 31, 2005, the entirety of which is incorporatedherein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to data networks andvoice-over-internet protocol (VoIP) data packets. More specifically, thepresent invention relates to a system and method for efficientlydistributing VoIP media to very large and/or geographically dense ad-hocdispatch calls, such as Push-to-Talk group communications, in a wirelesstelecommunication network.

2. Description of the Related Art

In a wireless network, the users of wireless communication devicescommunicate over an air-interface to a central computer. This may bedone directly, as in the case of a wireless LAN in an officeenvironment, or it may be done through cellular infrastructureequipment, as in the case of a wireless telephone application. One typeof personal communication system is a push-to-talk (PTT) system. A PTTcommunication connection is typically initiated by a single button-pushon the wireless device that activates a half-duplex link between thespeaker and each member device of the group and once the button isreleased, the device can receive incoming PTT transmissions once thebutton is released. In some arrangements, the PTT speaker will have the“floor” where no other group member can speak while the speaker isspeaking Once the speaker releases the PTT button, any other individualmember of the group can engage their PTT button and they will have thefloor. A specific PTT group of recipient devices for the communicatingwireless device is commonly set up by the carrier and the wirelessdevices themselves do not allow the modification of the group, i.e. toinclude or drop individuals from the group, or to purposely direct acommunication to be received by any fewer members than the entire group.

The typical PTT call involves two users who are rarely located withinthe same telecommunication sector such that communication andreplication of the communication is propagated easily over the existingtelecommunication infrastructure. However, a small but very importantfraction of push-to-talk calls involve a larger number of callparticipants, some of whom may also be located within the same sector;public-safety disaster scenarios are one example. In such scenario, themaintenance of the PTT communications within the group all located onthe same telecommunication resource is difficult and inefficient. Thesesystems will use “trunks” of the telephone network and standard channelallocation that devote individual circuits for each call participant,thus limiting system scalability.

In existing “wired” networks, it is known to use a “broadcast” of dataover a broadcast channel such that data is sent to all potentialreceivers and the receiver can determine whether or not the broadcastmedia applies to it. Applications such as LAN TV, desktop conferencing,corporate broadcasts, and collaborative computing, require datatransmission in a “point-to-multipoint” fashion, which is, transmittingdata to multiple recipients simultaneously. Such applications wouldrequire a tremendous amount of network bandwidth to be effectivelyimplemented using the point-to-point technique. For example, using atraditional point-to-point transmission scheme would require the sameinformation to be transmitted n times, where n represents the number ofrecipients. The bandwidth required to accomplish such a task would growin proportion to the number of computers receiving the transmission.Such an approach is infeasible for applications where large datatransmissions, such as audio and video, need to be sent to a largenumber of recipients. To effectively implement the transfer of largequantities of data in a point-to-multipoint network, a broadcast designis used wherein data is broken into packets, each packet addressed to a“broadcast address,” rather than addressing multiple copies of eachpacket to each recipient desiring the information. However, the networkmust generally send the information packets throughout the entirenetwork so that anyone desiring reception of the information can“listen” to the broadcast address and receive the information. Thus, theraw propagation of broadcasting packets everywhere is a significant useof network resources if only a small group of recipients desire theinformation.

To overcome this problem, a technique known as Internet Protocol (IP)multicast has been developed for use in wired IP networks. With IPmulticasting, applications can send one copy of each data packet andaddress it to a group of recipients that wish to receive the informationgenerated by an application. This technique addresses data packets to agroup of recipients rather than to individual recipients, and it relieson the network to forward the data packets only to “paths” that have asub-network that needs the information, i.e., a sub-network having atleast one recipient desiring the particular IP multicast. One example ofa subnetwork is a local broadcast network, such as an Ethernet LAN.

It is known to encapsulate voice data within IP data packets, thismethod commonly referred to as “VoIP”. In common Ethernet wirelessnetworks, such as an IEEE Standard 802.11(b) network, the network allowsfor wholesale broadcasting of IP packets. However, within theconstraints of wireless networks, it would be desirable to limitmulticast transmissions to a specific geographic area having at leastone receiving user desiring reception because of the disadvantage offlooding the wireless network with packets. Presently, in order totransmit an IP multicast transmission in a wireless network, thetransmission must be sent to all end devices, regardless of whether ornot the multicast transmission is desired, which burdens all resourcesof the PTT group whether or not the receiving device is able to receiveVoIP packets. Moreover, such efficient broadcasting of VoIP packetswould allow a very geographically dense group of PTT devices tocommunicate despite the limited telecommunication resources. It is thusto such a system and method of efficiently broadcasting voice datapackets to the wireless telecommunication devices of a PTT communicationgroup that the present invention is primarily directed.

SUMMARY OF THE INVENTION

In group-direct wireless telecommunications such as push-to-talk (PTT)calls, a PTT voice communication is efficiently broadcast throughInternet protocol data packets to other member devices of the PTT group.At least one communication server receives a single communication streamfrom a communicating wireless device, such as a PTT voice call, andcreates a group communication to all wireless telecommunication devicesof the designated group, with the broadcast of Internet protocol datapackets (VoIP) containing the voice data of the communication stream tothe wireless telecommunication devices of the receiving group that canreceive and handle the packets, and otherwise sends the groupcommunication via the standard telecommunication infrastructure. Thecommunication server preferably utilizes the wireless networkinfrastructure to assist in generation and broadcast of the VoIP packetsto the various wireless telecommunication devices.

The system for broadcasting VoIP packets containing voice data to agroup of wireless telecommunication devices includes a plurality ofwireless telecommunication devices wherein each wirelesstelecommunication device is able to direct a single communication streamto a designated group of the plurality of wireless telecommunicationdevices, such as a PTT group, and at least one of the plurality ofwireless telecommunication devices able to receive broadcast VoIPpackets containing voice data. Also, the system includes a communicationserver that receives the single communication stream from acommunicating wireless device and creates a group communication to allwireless telecommunication devices of the designated group, and causesthe broadcast of VoIP packets to at least one wireless telecommunicationdevice of the receiving group of the plurality of wirelesstelecommunication devices.

The method for efficiently distributing VoIP packets containing voicedata among a group of wireless telecommunication devices on a wirelessnetwork, comprising the steps of: directing a single communicationstream from a wireless telecommunication device to a designated group ofa plurality of wireless telecommunication devices on a wireless network,the communication stream including voice data with at least one of theplurality of wireless telecommunication devices able to receive VoIPpackets containing voice data, receiving the single communication streamfrom a communicating wireless device at a communication server, creatingat the communication server a group communication to all wirelesstelecommunication devices of the designated group; and broadcasting VoIPpackets to the wireless telecommunication device(s) of the receivinggroup of the plurality of wireless telecommunication devices.

The system and method can therefore allow efficient broadcast of VoIPpackets without flooding the wireless network with packets as it limitsmulticast transmissions to a specific geographic area having at leastone capable receiving wireless telecommunication device. Thus, thesystem and method can use VoIP packets to conduct group communicationswithin a very geographically-dense group of PTT devices withoutoverburdening the wireless telecommunication resources, e.g. not havingto use trunked telecommunication channels for each wireless device. Thesystem and method can accordingly be implemented with non VoIP capabledevice in the same PTT group.

Objects, advantages, and features of the present invention will becomeapparent after review of the hereinafter set forth Brief Description ofthe Drawings, Detailed Description of the Invention, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representative diagram of a wireless network with adesignated PTT group of wireless telecommunication devices communicatingwith a group communication server and other computer devices across thewireless network.

FIG. 2 is a representative diagram of one embodiment of a wirelessnetwork in a common cellular telecommunication configuration, having aseries of group communication servers control communications between thewireless telecommunication devices of PTT group members.

FIG. 3 is a block diagram illustrating the computer platform of thewireless telecommunication device with PTT capability and VoIP receptioncapability.

FIG. 4 is a diagram of one embodiment of multicast groups for PTTcommunications across a traditional cellular infrastructure.

FIG. 5 is a call-progress diagram for a PTT communication beinginitiated using an IP multicast to PTT group members able to receive theIP data packets.

FIG. 6 is a diagram of another embodiment of multicast groups for PTTcommunications across a traditional cellular infrastructure using GRETunnels.

FIG. 7 is a flowchart of one embodiment of the process executing on thegroup communication server to direct VoIP packets to the appropriatewireless devices of a designated PTT group on the wireless network.

DETAILED DESCRIPTION OF THE INVENTION

With reference to the figures in which like numerals represent likeelements throughout, FIG. 1 illustrates the system 10 for broadcastingInternet protocol data packets containing voice data to a group ofwireless telecommunication devices (target set 12) on a wireless network20. Here, the one or more wireless telecommunication devices are in aPTT group, such as the wireless telephone 14, smart pager 16 andpersonal digital assistant (PDA) 18, with other wirelesstelecommunication devices across a wireless network 20. In the system10, each wireless telecommunication device 14,16,18 is capable ofselectively directly communicating across the wireless communicationnetwork 20 with a target set 12 of one or more other wirelesstelecommunication devices with the plurality. For example, the targetset for cellular telephone 14 can all devices in the target set 12 or asubset thereof, such as pager 16 and PDA 18.

In particular, the system 10 leverages the use of IP multicasting withina wireless operator's private wireless network 30 and supportinginfrastructure to efficiently deliver VoIP based media for very largepush-to-talk (or other similar services) calls defined in ad-hocfashion. These PTT calls can involve a very large number of callparticipants (several hundred) who can be scattered across an operator'swireless network 20 or who may all be located in a small number ofsectors on the same network resources.

In one embodiment, a group communication server 32 selectively receivesrequests to bridge direct communications between the communicatingwireless telecommunication devices 14,16,18 and the one or more otherwireless telecommunication devices in the target set 12 designated forthe communicating wireless telecommunication device. The communicationserver 32 then selectively bridges the requested direct communication,such as a PTT voice communication. The identity of the target set 12 isselectively available to the group communication server 32, such asbeing resident on the group communication server 32 or in a connecteddatabase 34, or possibly on another computer device, such as packetflow-control server 36 (as is common in network infrastructure).

The system 10 therefore includes a plurality of wirelesstelecommunication devices (target set 12) wherein each wirelesstelecommunication device is able to direct a single communication streamto a designated group (target set 12) of the plurality of wirelesstelecommunication devices 14,16,18, and at least one of the plurality ofwireless telecommunication devices is able to receive broadcast Internetprotocol data (VoIP) packets. The communication server 32 that receivesthe single communication stream from a communicating wireless device(such as wireless telephone 14) and creates a group communication to allwireless telecommunication devices of the designated group, such as PTTcall. The communication server 32 causes the broadcast of Internetprotocol data packets containing voice data to at least one wirelesstelecommunication device of the target set 12, either directly orthrough the use of other computer devices on the wireless network 20 oron the server-side LAN 30. The group communication server 32 can have anattached or accessible database 34 to store the group identificationdata for the wireless devices that another server 36 controls groupcommunications for. It should be appreciated that the number of computercomponents resident on server-side LAN 30, or across the wirelessnetwork 20, or Internet generally, are not limited.

In such configuration, the communication server 32 can broadcast onlystandard voice data packets, such as in CDMA, with other resourcesreceiving the CDMA packets and creating VoIP packets, or other methodsof packetizing data may be used as known in the art. Further, the PTTcommunication broadcast can be voice data, application data, multimedia,or any form of computer data. In another embodiment, the wirelesstelecommunication device, such as wireless telephone 14, can itself sendInternet protocol data packets to the communication server 32.

There are typically one or more intermittent communication devices thatbridge communication streams between the communication server 32 and thegroup of wireless telecommunication devices 12, as is shown in FIG. 2,and the communication server 32 can further determine which memberwireless telecommunication devices are able to receive broadcastInternet data protocol packets, as is more fully described below. Thecommunication server 32 will then direct the one or more intermittentcommunication devices to send Internet protocol data packets to thosewireless telecommunication devices of the group that can receiveInternet protocol data packets.

FIG. 2 is a representative diagram of one embodiment of a wirelessnetwork in a common cellular telecommunication configuration, having agroup communication server 32 control communications between thewireless devices of set group members (devices 70,72,74,76) in a PTTsystem. The wireless network is merely exemplary and can include anysystem whereby remote modules communicate over-the-air between and amongeach other and/or between and among components of a wireless network 20,including, without limitation, wireless network carriers and/or servers.A series of group communication servers 32 are connected to a groupcommunication server LAN 50. Wireless telephones can request packet datasessions (such as CDMA) from the group communication server(s) 32 usinga data service option.

The group communication server(s) 32 are connected to a wireless serviceproviders packet data service node (PDSN) such as PSDN 52, shown hereresident on a carrier network 54. Each PSDN 52 can interface with a basestation controller 64 of a base station 60 through a packet controlfunction (PCF) 62. The PCF 62 is typically located in the base station60. The carrier network 54 controls messages (generally in the form ofdata packets) sent to a messaging service controller (“MSC”) 58. Thecarrier network 30 communicates with the MSC 32 by a network, theInternet and/or POTS (“plain ordinary telephone system”). Typically, thenetwork or Internet connection between the carrier network 54 and theMSC 58 transfers data, and the POTS transfers voice information. The MSC58 can be connected to one or more base stations 60. In a similar mannerto the carrier network, the MSC 58 is typically connected to thebranch-to-source (BTS) 66 by both the network and/or Internet for datatransfer and POTS for voice information. The BTS 66 ultimatelybroadcasts and receives messages wirelessly to and from the wirelessdevices, such as cellular telephones 70,72,74,76, by short messagingservice (“SMS”), or other over-the-air methods known in the art.

Cellular telephones and telecommunication devices, such as wirelesstelephone 14, are being manufactured with increased computingcapabilities and are becoming tantamount to personal computers andhand-held PDAs. These “smart” cellular telephones allow softwaredevelopers to create software applications that are downloadable andexecutable on the processor of the wireless device. The wireless device,such as cellular telephone 14, can download many types of applications,such as web pages, applets, MIDlets, games and stock monitors, or simplydata such as news and sports-related data. In wireless devices that havedesignated a set 12 of group members, the wireless device can directlyconnect with the other member of the set and engage in voice and datacommunication. However, all such direct communications will occurthrough, or at the control of, the group communication server 32. Alldata packets of the devices do not necessarily have to travel throughthe group communication server 32 itself, but the server 32 must be ableto ultimately control the communication because it will typically be theonly server-side LAN 30 component that is aware of and/or can retrievethe identity of the members of the set 12, or direct the identity of themembers of the set 12 to another computer device.

FIG. 3 is a block diagram illustrating one embodiment of the wirelesstelecommunication device being a cellular telephone 14 with a PTT button78 that opens the direct communication to the target set 12 of devices.The wireless device 14 is also shown as having a graphics display 80 tothe user of the wireless device 14. The wireless device 14 includes acomputer platform 82 that can handle voice and data packets, and receiveand execute software applications transmitted across the wirelessnetwork 20. The computer platform 80 includes, among other components,an application-specific integrated circuit (“ASIC”) 84, or otherprocessor, microprocessor, logic circuit, programmable gate array, orother data processing device. The ASIC 84 is installed at the time ofmanufacture of the wireless device and is not normally upgradeable. TheASIC 84 or other processor executes an application programming interface(“API”) layer 86, which includes the resident application environment,and can include the operating system loaded on the ASIC 84. The residentapplication environment interfaces with any resident programs in thememory 88 of the wireless device. An example of a resident applicationenvironment is the “binary runtime environment for wireless” (BREW)software developed by Qualcomm® for wireless device platforms.

As shown here, the wireless device can be a cellular telephone 14, witha graphics display, but can also be any wireless device with a computerplatform as known in the art, such as a personal digital assistant(PDA), a pager with a graphics display, or even a separate computerplatform that has a wireless communication portal, and may otherwisehave a wired connection to a network or the Internet. Further, thememory 88 can be comprised of read-only or random-access memory (RAM andROM), EPROM, EEPROM, flash cards, or any memory common to computerplatforms. The computer platform 82 can also include a local database 90for storage of software applications not actively used in memory 88. Thelocal database 90 is typically comprised of one or more flash memorycells, but can be any secondary or tertiary storage device as known inthe art, such as magnetic media, EPROM, EEPROM, optical media, tape, orsoft or hard disk. The wireless telephone typically will open a fullduplex channel for telecommunication, and in some instances, willcommunicate via a half-duplex channel, only being able to talk orreceive a voice stream.

In this embodiment of the wireless device 14, the computer platform 82also includes a communication interface 92 that includes a directcommunication interface 94 that can open the direct communicationchannel from the wireless device. The direct communication interface 92can also be part of the standard communication interface for thewireless device which ordinarily carries the voice and data transmittedto and from the wireless device. The direct communication interface 92typically is comprised of hardware as is known in the art. Thecommunication interface 92 further includes an IP packet handlinginterface 96 that can at least receive or receive and send VoIP over thewireless network 20. Alternately, the IP packet interface 96 can beattuned to a broadcast channel specifically designed for VoIP packetbroadcast, and such channel is possibly outside the carrier channels ofthe wireless network 20. In such configuration, with a separatebroadcast channel, the received PTT group communications would not useany of the standard carrier channels and thus lessen the load on thegeographical sector resources needed to handle group communications.

FIG. 4 is a diagram of one embodiment of multicast groups for PTTcommunications across a traditional cellular infrastructure. Thewireless operator identifies a class of multicast groups addresses todevote PTT groups and thus create a IP Multicast Network 100. A locationserver 104 and dispatcher 104 are supported by multiple communicationservers 106 to set up the multicasting channels across the network. Thewireless operator's PTT location server 102 is configured to identifyhow to map any unicast IP address assigned to a wireless device, such asone wireless device in group 108, group 110 or single wireless devices112 and 114, to a given PDSN 52 identifier. The PDSN 52 identified bythe location server 102 is the PDSN 52 to which unicast traffic destinedto the wireless telecommunication device will be routed. Each PDSN 52 isconfigured to statically maintain itself as a member in a subset of themulticast groups identified for providing efficient PTT services forvery large ad-hoc groups. The mapping of multicast groups to the PDSNs52 is defined based on the expected distribution of very large PTTcommunications within an operator's network

In current embodiments, a PTT system provides point-to-multipoint voiceservice over commercial cellular infrastructure, such as CDMA, TDMA,GSM. Communication between endpoints takes place within virtual groupsusing a dispatch model wherein the voice of one talker is broadcasted tomany listeners by the Dispatcher 104. In standard configuration, a PTTSystem relies on a Group Call Server (GCS) to replicate the media andsetup point-to-point communication links with each endpoint. However, ina geographically dense area, setting up dedicated channels for each ofthe wireless telecommunication devices participating in the same call isnot only inefficient, but can to cripple the capacity of a cellularsector.

The present system however can use Protocol Independent Multicast (PIM),which is a multicast routing protocol that runs over an existing unicastinfrastructure. PIM provides for both dense and sparse group membership.It is different from other protocols, since PIM uses an explicit joinmodel for sparse groups. Joining occurs on a shared tree and can switchto a per-source tree. Where bandwidth is plentiful and group membershipis dense, overhead can be reduced by flooding data out all links andlater pruning exception cases where there are no group members.

In propagating multicast VoIP packets, the proposed design uses astatically configured IP-multicast network 100 having distribution treesare configured in a fixed manner by making the PDSNs 52 join a set ofpre-configured multicast groups 108,110,112,114 statically, as shown inFIG. 4. The PDSN's 52 can either send periodic join messages for each ofthe PTT groups they are interested in, or alternately, static entriescan be made in all the intermediate multicast routers. Thus, each PDSN(statically) subscribes to a (potentially overlapping) subset ofavailable Multicast groups. The size of the Multicast address spacereserved per PDSN 52 should be large enough to handle the expectednumber of large groups within the PDSN's 52 geographical region.

Let G be a function mapping a PDSN 52 to the corresponding multicastgroups it is interested in. That is, G(PDSN₁) is the set of multicastgroups PDSN₁ is a member of G is a many-to-one mapping and G is known tothe appropriate communication server 106. Let M be the function mappingbetween a wireless telecommunication device's IP address and theidentifier of the PDSN 52 serving that wireless telecommunicationdevice. For example, M(IP₁) returns the identifier of the PDSN 52serving a wireless telecommunication device with IP₁. This mapping isalso known to the communication server 106, and can be deduced based onthe knowledge of the set of IP addresses each of the PDSNs 52 can assignduring a point-to-point (PPP) session. The communication servers 106 areconsequently configured with a mapping between PTT group members and theserving PDSN 52 identifier.

In a call scenario using the above multicast mechanism, the Dispatcher104 receives a PPT request from a originating wireless device, such asgroup device 114, and looks up the targets, say t₁ through t_(n). Thedispatcher uses the mapping M to identify the set of PDSNs 52—say P₁through P_(m) serving each of the target wireless telecommunicationdevices. It should be noted that n≧m. The appropriate communicationserver 32 assigns calls to the Multicast group(s) dynamically based onwhere participants are, and PDSN 52 subscription during call setup. Thecommunication server 106 then decides the following: Is this a large PTTgroup call (based on the parameter n)? Is this a dense PTT group call(based on the appropriate data for the targets, and potentially themaximum cardinality of the sets M(P_(i)), or max {|M(P_(i))|}).

The communication server 106 decides to use certain multicast groupaddresses based on the following criteria: If G(P₁)∩G(P₂)∩ . . .G(P_(m))≠Kφ, use one of the group address belonging to this intersectionthat is currently not being used. If G(P₁)∩G(P₂) ∩ . . . G(P_(m))=Kφ,use one unused multicast group address each from the sets G(P₁), G(P₂),. . . G(P_(m)). The Dispatcher 104 sends the selected multicast groupaddress g from G(M(t)) for the target t to the communication server 106.The communication server 106 then receives the set of multicast groupaddresses chosen for the PTT communication.

In one embodiment, the 233.0.0.0/8 block has been set aside formulticast use for entities with their own autonomous system number(ASN). The 239.0.0.0/8 block is administratively scoped for internal useonly (like the 192.168.0.0/16 block in the case of unicast). These twomulticast address blocks can be used within the carrier's privatenetwork, allowing the communication server 106 to use multicast addressspace up to around 32 million.

FIG. 5 is a call-progress diagram for a PTT communication beinginitiated using an IP multicast to PTT group members able to receive theIP data packets. In this embodiment, the “floor grant” or permission forthe originating wireless telecommunication device is given after the PTTchannel is verified as available and the multicast groups are selected.The existence of available PTT members for multicast can bedeterminative of the availability of the floor dependent upon the systemconfiguration. For example, if the system determines that the PTT embersare geographically dense but multicast is not available, it can refusethe initial request or set up the standard PPP communications. It shouldbe noted that call setup signaling can occur via a formal broadcastchannel, as opposed to just a generic shared forward link channel suchas the Control Channel. For example, in one extant telecommunicationssystem, the system uses a Control Channel (CC) and a separate BroadcastChannel (BCH).

FIG. 6 is a diagram of another embodiment of multicast groups for PTTcommunications across a traditional cellular infrastructure usingGeneric Routing Encapsulation (GRE) Tunneling. GRE is a standards-basedtunneling protocol known in the art that can encapsulate a wide varietyof protocol packet types inside IP tunnels, creating a virtualpoint-to-point link over an IP network. GRE tunneling allows separatenetworks to appear to be directly connected. Here, traffic on the IPmulticast network 120 is encapsulated in a GRE IP packet with a sourceand destination address that at least the communications servers 106 andthe PDSN 122 recognize. Target group members 124, 126 and 128 typicallydo not need to recognize the GRE packets as the PDSN 122 has recreatedthe VoIP packets. Thus, all traffic can be transmitted across an extantwireless network without that network's infrastructure knowing anythingabout the sending and receiving networks. Such design is advantageous inthat the carrier infrastructure is not required to support the actualmulticasting. However, the PDSN 122 needs to have components set up tohandle the GRE protocol so the modification of the PDSNs can be veryexpensive.

FIG. 7 is a flowchart of one embodiment of the process executing on thegroup communication server 32 to direct VoIP packets to the appropriatewireless devices of a designated PTT group on the wireless network. APTT communication request is received at the communication server 32, asshown at step 140, and a PTT group is determined for the incomingcommunication stream, as shown at step 142. A decision is then made asto whether the “floor” is open, i.e. is the requesting PTT device ableto direct a group communication, as shown at decision 144. If the flooris not open at decision 144, a failure notice is returned to therequesting wireless telecommunication device as shown at step 146, andthe process ends.

If the floor is open to the requesting wireless telecommunication deviceat decision 144, then the communication channel is granted to therequesting wireless telecommunication device as shown at step 148 andthe incoming voice stream is received, as shown at step 150. Then adecision is made as to whether there are any members of the PTT groupthat can receive VoIP, as shown at decision 152. If none of the PTTgroup members can receive VoIP packets, then the process forwards tostep 158 wherein the voice data stream is sent to the extantinfrastructure (such as cellular infrastructure) to the broadcast to thePTT group members.

If there are PTT group members that can receive VoIP at decision 152,the voice data stream is packetized into IP data packets, as shown atstep 154, and then the VoIP packets are transmitted (such as to the PDSN52) for ultimate broadcast tot eh members of the PTT group, as shown atstep 156. Then the remaining voice data stream is sent to the extantinfrastructure for transmission to the PTT group members as shown atstep 158. If the system is embodied with the communication server 32controlling other computer devices to assist in packetizing or datarelay, then such other steps will occur in the process as would beapparent to one of skill in the art.

It can thus be seen that the system 10 provides a method for efficientlydistributing VoIP data packets among a group (target set 12) of wirelesstelecommunication devices on a wireless network 20 including the stepsof directing a single communication stream from a wirelesstelecommunication device (such as wireless telephone 14) to a designatedgroup of a plurality of wireless telecommunication devices (target set12), with the communication stream including at least voice data. Atleast one of the plurality of wireless telecommunication devices is ableto receive VoIP data packets, and thus the method further includesreceiving the single communication stream from a communicating wirelessdevice (wireless telephone 14) at a communication server 32, creating ata group communication to all wireless telecommunication devices of thedesignated group (target set 12), and broadcasting the VoIP data packetsto at least the one wireless telecommunication device of the receivinggroup (target set 12).

The method can further include the step of receiving the VoIP datapackets at one or more of the plurality of wireless telecommunicationdevices 14,16,18 in the group. The step of directing a communicationstream can include directing application data, multimedia, or othercomputer media to a designated group, or target set 12, of a pluralityof wireless telecommunication devices. The method can further includethe step of routing the voice data from the communication server 32 toanother computer device on the wireless network 20 or on the server-sideLAN 30, that converts the voice data in VoIP data packets for broadcastto at least one wireless telecommunication device of the group (targetset 12). The method can also include the steps of determining at thecommunication server 32 the member wireless telecommunication devices(such as devices 14,16,18) able to receive broadcast VoIP data packets,and directing one or more intermittent communication devices, such asPDSN 52, to send VoIP data packets to those wireless telecommunicationdevices of the group that can receive VoIP data packets, with the one ormore intermittent communication devices bridging communication streamsbetween the communication server 32 and the group (target set 12) ofwireless telecommunication devices.

The system 10 also includes an inventive wireless telecommunicationdevice (such as wireless telephone 14 shown in FIG. 3) able to direct asingle communication stream to a designated group of a plurality ofwireless telecommunication devices (target set 12) accessible on awireless network 20, wherein the wireless telecommunication device isfurther able to receive broadcast VoIP data packets (such as throughVoIP interface 96) in addition communicating through a standardcommunication stream on the wireless network 20 to other wirelesstelecommunication devices on the wireless network 20, such as throughcommunication interface 92.

Another embodiment includes a program resident in a computer readablemedium, where the program directs a wireless device having a computerplatform to perform the inventive steps of the method. The computerreadable medium can be the memory 88 of the computer platform 82 of thewireless telephone 14, or other wireless device, or can be in a localdatabase, such as local database 90 of the wireless telephone 14.Further, the computer readable medium can be in a secondary storagemedia that is loadable onto a wireless device computer platform, such asa magnetic disk or tape, optical disk, hard disk, flash memory, or otherstorage media as is known in the art.

In the context of FIG. 7, the method may be implemented, for example, byoperating portion(s) of the wireless network 20 to execute a sequence ofmachine-readable instructions, such as wireless platform 82 and thecommunication server 32. The instructions can reside in various types ofsignal-bearing or data storage primary, secondary, or tertiary media.The media may comprise, for example, RAM (not shown) accessible by, orresiding within, the components of the wireless network 20. Whethercontained in RAM, a diskette, or other secondary storage media, theinstructions may be stored on a variety of machine-readable data storagemedia, such as DASD storage (e.g., a conventional “hard drive” or a RAIDarray), magnetic tape, electronic read-only memory (e.g., ROM, EPROM, orEEPROM), flash memory cards, an optical storage device (e.g. CD-ROM,WORM, DVD, digital optical tape), paper “punch” cards, or other suitabledata storage media including digital and analog transmission media.

While the foregoing disclosure shows illustrative embodiments of theinvention, it should be noted that various changes and modificationscould be made herein without departing from the scope of the inventionas defined by the appended claims. Furthermore, although elements of theinvention may be described or claimed in the singular, the plural iscontemplated unless limitation to the singular is explicitly stated.

1. A method of supporting a communication session at a communicationserver in a wireless communications system, comprising: receiving, froma given wireless telecommunication device that belongs to a designatedgroup of wireless telecommunication devices including at least one otherwireless telecommunication device, a single communication stream thatcontains voice data for delivery to the at least one other wirelesstelecommunication device of the designated group and is addressed to thecommunication server; determining whether the at least one otherwireless telecommunication device in the designated group is capable ofreceiving broadcast Internet Protocol (IP) data packets; and directingone or more intermediate communication devices to send IP data packetsto each wireless telecommunication device among the at least one otherwireless telecommunication device that is determined to be capable ofreceiving broadcast IP data packets, wherein the one or moreintermediate communication devices correspond to one or more networkentities that are configured to bridge communication streams between thecommunication server and the designated group.
 2. The method of claim 1,wherein the directing step directs the one or more intermediatecommunication devices to send IP data packets that contain the voicedata from the received single communication stream.
 3. The method ofclaim 2, wherein the directing step directs the one or more intermediatecommunication devices to send IP data packets that only contain thevoice data from the received single communication stream.
 4. The methodof claim 2, wherein the directing step directs the one or moreintermediate communication devices to send IP data packets that furthercontain application data.
 5. The method of claim 2, wherein thedirecting step directs the one or more intermediate communicationdevices to send IP data packets that further contain multimedia otherthan the voice data from the received single communication stream. 6.The method of claim 1, further comprising: receiving one or more IP datapackets from one or more wireless telecommunication devices on thewireless communications system.
 7. The method of claim 6, wherein theone or more received IP data packets correspond to the received singlecommunication stream from the given wireless telecommunication device.8. The method of claim 1, wherein the received single communicationstream corresponds to a portion of a full-duplex communication sessionacross the wireless communications system.
 9. The method of claim 1,wherein the received single communication stream corresponds to aportion of a half-duplex communication session across the wirelesscommunications system.
 10. Them method of claim 9, wherein thehalf-duplex communication session is a push-to-talk (PTT) communicationsession.
 11. The method of claim 1, wherein the one or more intermediatecommunication devices correspond to one or more packet data servicenodes (PDSNs) within the wireless communications system.
 12. The methodof claim 1, further comprising: mapping the wireless telecommunicationdevices belonging to the designated group to a subset of packet dataservice nodes (PDSNs) within the wireless communications system, whereinthe one or more intermediate communication devices correspond to thesubset of PDSNs.
 13. The method of claim 12, wherein the mapping stepincludes: determining an expected distribution of the wirelesstelecommunication devices belonging to the designated group within thewireless communications system; determining one or more PDSNs within thewireless communications system that serve the expected distribution, theone or more PDSNs corresponding to the subset of PDSNs; and associatingeach of the wireless telecommunication devices with its correspondingserving PDSN of the subset of PDSNs.
 14. The method of claim 12, furthercomprising: determining whether at least one address is available forthe communication session at each of the subset of PDSNs; and selecting,based on the determining step, the at least one address to be associatedwith the communication session such that the same address is used byeach PDSN among the subset of PDSNs for the communication session. 15.The method of claim 12, wherein the communication server is notresponsible for tracking which PDSNs belong to the PDSN subset.
 16. Themethod of claim 12, wherein each PDSN within the subset of PDSNsstatically maintains itself as a member of the subset of PDSNs.
 17. Amethod of supporting a communication session at an access network in awireless communications system, comprising: receiving, from acommunication server at one or more intermediate communication devicesof the access network, Internet Protocol (IP) data packets fortransmission to at least one wireless telecommunication device thatbelongs to a designated group of wireless telecommunication devices, theat least one wireless telecommunication device expected to be capable ofreceiving broadcast IP data packets, wherein the one or moreintermediate communication devices correspond to one or more networkentities that are configured to bridge communication streams between thecommunication server and the designated group; and transmitting the IPdata packets to the at least one wireless telecommunication device,wherein the received IP data packets include voice data from anotherwireless telecommunication device that belongs to the designated groupthat is sent from the another wireless telecommunication device to thecommunication server in a single communication stream that is addressedto the communication server.
 18. The method of claim 17, wherein thereceived IP data packets only contain the voice data from the receivedsingle communication stream.
 19. The method of claim 17, wherein thereceived IP data packets further contain application data.
 20. Themethod of claim 17, wherein the received IP data packets further containmultimedia other than the voice data from the received singlecommunication stream.
 21. The method of claim 17, wherein the receivedIP data packets correspond to a portion of a full-duplex communicationsession across the wireless communications system.
 22. The method ofclaim 17, wherein the received IP data packets correspond to a portionof a half-duplex communication session across the wirelesscommunications system.
 23. Them method of claim 17, wherein thehalf-duplex communication session is a push-to-talk (PTT) communicationsession.
 24. The method of claim 17, wherein the one or moreintermediate communication devices correspond to one or more packet dataservice nodes (PDSNs) within the wireless communications system.
 25. Themethod of claim 17, wherein the one or more intermediate communicationdevices correspond to a subset of packet data service nodes (PDSNs)within the wireless communications system.
 26. The method of claim 25,wherein the subset of PDSNs that receive the received IP data packetsfrom the communication server are determined based on (i) adetermination of an expected distribution of the target wirelesstelecommunication devices belonging to the designated group within thewireless communications system, (ii) a determination of one or morePDSNs within the wireless communications system that serve the expecteddistribution, the one or more PDSNs corresponding to the subset ofPDSNs, and (iii) an association between each target wirelesscommunication device of the designated group with its correspondingserving PDSN of the subset of PDSNs.
 27. The method of claim 25, whereineach of the subset of PDSNs uses a same address that is commonlyavailable at each of the subset of PDSNs to be associated with thecommunication session.
 28. The method of claim 25, wherein thecommunication server is not responsible for tracking which PDSNs belongto the PDSN subset.
 29. The method of claim 25, further comprising: ateach PDSN within the subset of PDSN, statically maintaining membershipwithin the subset of PDSNs.
 30. A communication server configured tosupport a communication session in a wireless communications system,comprising: means for receiving, from a given wireless telecommunicationdevice that belongs to a designated group of wireless telecommunicationdevices including at least one other wireless telecommunication device,a single communication stream that contains voice data for delivery tothe at least one other wireless telecommunication device of thedesignated group and is addressed to the communication server; means fordetermining whether the at least one other wireless telecommunicationdevice in the designated group is capable of receiving broadcastInternet Protocol (IP) data packets; and means for directing one or moreintermediate communication devices to send IP data packets to eachwireless telecommunication device among the at least one other wirelesstelecommunication device that is determined to be capable of receivingbroadcast IP data packets, wherein the one or more intermediatecommunication devices correspond to one or more network entities thatare configured to bridge communication streams between the communicationserver and the designated group.
 31. An access network configured tosupport a communication session in a wireless communications system,comprising: means for receiving, from a communication server at one ormore intermediate communication devices of the access network, InternetProtocol (IP) data packets for transmission to at least one wirelesstelecommunication device that belongs to a designated group of wirelesstelecommunication devices, the at least one wireless telecommunicationdevice expected to be capable of receiving broadcast IP data packets,wherein the one or more intermediate communication devices correspond toone or more network entities that are configured to bridge communicationstreams between the communication server and the designated group; andmeans for transmitting the IP data packets to the at least one wirelesstelecommunication device, wherein the received IP data packets includevoice data from another wireless telecommunication device that belongsto the designated group that is sent from the another wirelesstelecommunication device to the communication server in a singlecommunication stream that is addressed to the communication server. 32.A communication server configured to support a communication session ina wireless communications system, comprising: logic configured toreceive, from a given wireless telecommunication device that belongs toa designated group of wireless telecommunication devices including atleast one other wireless telecommunication device, a singlecommunication stream that contains voice data for delivery to the atleast one other wireless telecommunication device of the designatedgroup and is addressed to the communication server; logic configured todetermine whether the at least one other wireless telecommunicationdevice in the designated group is capable of receiving broadcastInternet Protocol (IP) data packets; and logic configured to direct oneor more intermediate communication devices to send IP data packets toeach wireless telecommunication device among the at least one otherwireless telecommunication device that is determined to be capable ofreceiving broadcast IP data packets, wherein the one or moreintermediate communication devices correspond to one or more networkentities that are configured to bridge communication streams between thecommunication server and the designated group.
 33. An access networkconfigured to support a communication session in a wirelesscommunications system, comprising: logic configured to receive, from acommunication server at one or more intermediate communication devicesof the access network, Internet Protocol (IP) data packets fortransmission to at least one wireless telecommunication device thatbelongs to a designated group of wireless telecommunication devices, theat least one wireless telecommunication device expected to be capable ofreceiving broadcast IP data packets, wherein the one or moreintermediate communication devices correspond to one or more networkentities that are configured to bridge communication streams between thecommunication server and the designated group; and logic configured totransmit the IP data packets to the at least one wirelesstelecommunication device, wherein the received IP data packets includevoice data from another wireless telecommunication device that belongsto the designated group that is sent from the another wirelesstelecommunication device to the communication server in a singlecommunication stream that is addressed to the communication server. 34.A non-transitory computer-readable storage medium containinginstructions stored thereon, which, when executed by a communicationserver configured to support a communication session in a wirelesscommunications system, cause the communication server to performoperations, the instructions comprising: program code to receive, from agiven wireless telecommunication device that belongs to a designatedgroup of wireless telecommunication devices including at least one otherwireless telecommunication device, a single communication stream thatcontains voice data for delivery to the at least one other wirelesstelecommunication device of the designated group and is addressed to thecommunication server; program code to determine whether the at least oneother wireless telecommunication device in the designated group iscapable of receiving broadcast Internet Protocol (IP) data packets; andprogram code to direct one or more intermediate communication devices tosend IP data packets to each wireless telecommunication device among theat least one other wireless telecommunication device that is determinedto be capable of receiving broadcast IP data packets, wherein the one ormore intermediate communication devices correspond to one or morenetwork entities that are configured to bridge communication streamsbetween the communication server and the designated group.
 35. Anon-transitory computer-readable storage medium containing instructionsstored thereon, which, when executed by an access network configured tosupport a communication session in a wireless communications system,cause the access network to perform operations, the instructionscomprising: program code to receive, from a communication server at oneor more intermediate communication devices of the access network,Internet Protocol (IP) data packets for transmission to at least onewireless telecommunication device that belongs to a designated group ofwireless telecommunication devices, the at least one wirelesstelecommunication device expected to be capable of receiving broadcastIP data packets, wherein the one or more intermediate communicationdevices correspond to one or more network entities that are configuredto bridge communication streams between the communication server and thedesignated group; and program code to transmit the IP data packets tothe at least one wireless telecommunication device, wherein the receivedIP data packets include voice data from another wirelesstelecommunication device that belongs to the designated group that issent from the another wireless telecommunication device to thecommunication server in a single communication stream that is addressedto the communication server.